home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / menubas.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1984-04-24  |  1.4 KB  |  58 lines

  1. 10  'BASIC MENU PROGRAM FOR THE SELECTION OF A PROGRAM
  2. 20  'BY TOM SPEAKER
  3. 30  'PROGRAM ADAPTED FROM *.* IN PC WORLD VOL 1 NO 6
  4. 40  '8/10/83
  5. 50  KEY OFF
  6. 60  GOSUB 450
  7. 70  LOCATE 3,3
  8. 80  PRINT "THE PROGRAM DISPLAYS ALL BASIC FILES ON THE SELECTED DISK"
  9. 90  LOCATE 5,3
  10. 100  PRINT "ONE PROGRAM WILL BE IN REVERSE VIDEO. PRESS <- TO CHAIN TO IT."
  11. 110  LOCATE 7,3
  12. 120  PRINT "POSITION THE SELECTED PROGRAM WITH THE CURSER CONTROL KEYS"
  13. 130  LOCATE 9,3
  14. 140  PRINT "PRESS E TO END , A OR B OR C OR D TO SELECT DRIVE,
  15. 150  LOCATE 11,3
  16. 160  PRINT"OR ANY KEY FOR THE DEFAULT DRIVE."
  17. 170  K$=INPUT$(1): IF K$="E" OR K$="e" THEN END
  18. 180  IF K$<"[" AND K$>"@" OR K$ >"'" AND K$<"{" THEN D$=K$+":*.BAS" ELSE D$="*.BAS"
  19. 190  CLS:FILES D$
  20. 200  Y=1:X=0
  21. 210  COLOR 0,7
  22. 220  FOR L=1 TO 12
  23. 230   LOCATE Y,X+L
  24. 240  C$=CHR$(SCREEN(Y,X+L))
  25. 250  PRINT C$: F$=F$+C$
  26. 260  NEXT
  27. 270  COLOR 7,0
  28. 280  K$=INKEY$: IF LEN (K$)=0 THEN 280' WAIT FOR KEYSTROKE
  29. 290  IF LEN(K$)=2 THEN 330'EXTENDED CHARACTER
  30. 300  IF ASC(K$)=13 THEN 400'ENTER KEY PRESSED
  31. 310  IF ASC(K$)=27 THEN CLS:KEY ON:END 'ESCAPE KEY PRESSED
  32. 320  GOTO 280
  33. 330  R$=RIGHT$(K$,1):A=ASC(R$)
  34. 340  IF A=72 AND Y>1 THEN GOSUB 410:Y=Y-1:GOTO 210
  35. 350  IF A=80 AND Y<24 THEN GOSUB 410:Y=Y+1:GOTO 210
  36. 360  IF A=75 AND X>12 THEN GOSUB 410:X=X-13:GOTO 210
  37. 370  IF A=77 AND X<60 THEN GOSUB 410:X=X+13:GOTO 210
  38. 380  BEEP
  39. 390  GOTO 280
  40. 400  IF B=1 THEN CHAIN "B:"+F$ ELSE CHAIN F$
  41. 410  FOR L=1 TO 12
  42. 420  LOCATE Y,X+L:PRINT CHR$(SCREEN(Y,X+L))
  43. 430  NEXT :F$=""
  44. 440  RETURN
  45. 450  KEY OFF:CLS:GOTO 470
  46. 460  CLS
  47. 470  LOCATE 2,2:PRINT CHR$(201):LOCATE 2,79:PRINT CHR$(187)
  48. 480  LOCATE 23,2:PRINT CHR$(200):LOCATE 23,79:PRINT CHR$(188)
  49. 490  FOR J=3 TO 22
  50. 500  LOCATE J,2:PRINT CHR$(186)
  51. 510  LOCATE J,79:PRINT CHR$(186)
  52. 520  NEXT J
  53. 530  FOR J=3 TO 78
  54. 540  LOCATE 2,J:PRINT CHR$(205)
  55. 550  LOCATE 23,J:PRINT CHR$(205)
  56. 560  NEXT J
  57. 570  RETURN
  58.